package com.ruoyi.common.core.domain.entity;


import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 用户签到记录实体类
 *
 * @author ruoyi
 */
@TableName("sign_in_records")
@Data
public class SignInRecord {

    /**
     * 记录ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 签到日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date signDate;

    /**
     * 签到时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signTime;

    /**
     * 签到IP
     */
    private String signIp;

    /**
     * 签到设备
     */
    private String signDevice;

    /**
     * 签到位置
     */
    private String signLocation;

    /**
     * 状态：1-正常，0-异常
     */
    private Integer status;

    /**
     * 本周连续签到天数
     */
    private Integer continuousDays;

    /**
     * 总连续签到天数
     */
    private Integer totalContinuousDays;

    /**
     * 总签到天数
     */
    private Integer totalDays;

    /**
     * 签到周期
     */
    private Integer cycle;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createdAt;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updatedAt;
}
